<?php
/**
 *
 * @author 天意
 * @version 1.0
 */

class Config{
	private $_config= array();
	public function __construct(){
		$this->SetConfigFile();
	}
	public function SetConfigFile(){
		if(defined('DING_CONFIG'))
			$path = DING_CONFIG;
		else
			$path = dingwork_path.'/config/config.php';
		if(file_exists($path)){
			$config = include_once($path);
			if(is_array($config))
				$this->_config = $config;
			else
				throw new ConfigException('配置文件格式不是数组类型');
		}
	}
	public function getConfig(){
		return array_merge($this->getDefaultConfig(),$this->_config);
	}
	private function getDefaultConfig(){
		return  array(    //这是配置文件
			'version' => 'dinghongyi v0.1', //版本号
			'DEBUG' => true, //调试模式
			'C' => 'index', //默认控制器名
			'A' => 'index', //默认动作名
			'tpl_path' => './template', //默认模板路径
			'DB_PREFIX' => '', //默认数据库前缀
			'DB_PORT' => 3306, //默认数据库端口
			'DB_CHARSET' => 'UTF8', //默认数据编码
			'style' => 'default', //默认模板样式
			'Html_Suffix' =>'', //规则 如 www.abc.com/index/index.{Html_Suffix}
			'exception_handler'=>array(), //处理异常
			'error_handler'=>array(), //处理错误
			'error_controller' => 'error', //默认错误处理控制器
			'error_action' => 'error' //默认错误处理动作
		);
	}
}
class ConfigException extends DingException{

}